package ${package.Service};

import ${dtoPackage}.${entity}AddDTO;
import ${dtoPackage}.${entity}UpdateDTO;
import ${dtoPackage}.${entity}QueryDTO;
import ${voPackage}.${entity}VO;
import java.util.List;
import com.rems.api.rsp.common.PageResponseResult;
import com.rems.common.model.dto.city.workflow.utils.StartProcessData;
<#list table.fields as field>
<#if field.keyFlag><#--主键java类型--> <#assign keyType="${field.columnType.type}"/><#assign keyName="${field.propertyName}"/></#if>
</#list>
/**
 * <p>
 * ${table.comment!} 服务类
 * </p>
 * @author ${author}
 * @since ${date}
 */
public interface ${table.serviceName} {

  <#if is_work_flow>
  /**
  * 业务受理检查
  *
  * @param checkParam
  */
  Boolean bizAcceptCheck(${entity}AddDTO checkParam);

  /**
  * 业务受理
  *
  * @param acceptParam
  */
  String bizAccept(${entity}AddDTO acceptParam, StartProcessData startProcessData);

  /**
  * 业务信息保存
  */
  void saveApplyInfo(${entity}AddDTO applyInfoDTO);

  /**
  * 归档
  *
  * @param pigeonholedParam
  */
  Boolean pigeonholed(${entity}AddDTO pigeonholedParam);

  <#else>

  int add(${entity}AddDTO ${entity?uncap_first}DTO);

  int update(${entity}UpdateDTO ${entity?uncap_first}DTO);

  int delete(<#list table.fields as field><#if field.keyFlag><#--主键java类型-->${field.columnType.type} ${keyName}</#if></#list><#list table.fields as field><#if field.name=="XT_FQID">,Integer divisionId</#if></#list>);

  ${entity}VO get(<#list table.fields as field><#if field.keyFlag><#--主键java类型-->${field.columnType.type} ${keyName}</#if></#list><#list table.fields as field><#if field.name=="XT_FQID">,Integer divisionId</#if></#list>);

  PageResponseResult<${entity}VO> pageList(${entity}QueryDTO ${entity?uncap_first}QueryDTO);
  </#if>
}

